package com.tfjybj.itoo.exam.provider.service;

import com.dmsdbj.itoo.tool.base.service.BaseServicePlus;
import com.github.pagehelper.PageInfo;
import com.tfjybj.itoo.exam.entity.TemplateDetailsExtractEntity;
import com.tfjybj.itoo.exam.model.QuestionMainModel;

import java.util.List;


/**
 * TemplateDetailsExtractService接口
 * templateDetailsExtract表
 *
 * @author 任晓帅
 * @version 2.0.0
 * @since 2.0.0 2018-11-15 19:40:28
 */
public interface TemplateDetailsExtractService extends BaseServicePlus<TemplateDetailsExtractEntity> {
	
	//region 模板生成：模糊查询
	/**
     * 根据试题id模糊查询templateDetailsExtract
     *
     * @param questionId  试题id
     * @param pageNo   页码
     * @param pageSize 页数
     * @return 模糊查询的templateDetailsExtract
     * @author 任晓帅
     * @since 2.0.0 2018-11-15 19:40:28
     */
    PageInfo<TemplateDetailsExtractEntity> queryByLikeQuestionId(String questionId, Integer pageNo, Integer pageSize);


    //endregion

    /* **********************************以下为非模板生成的内容********************************* */
    /**
     * 添加templateDetailsExtract
     *
     * @param templateDetailsExtractEntity
     * @return templateDetailsExtract
     * @author 杨海云
     * @since 2.0.0 2018-11-27 19:40:28
     */
    int installTemp(TemplateDetailsExtractEntity templateDetailsExtractEntity);
    /**
     * 根据模板id查询templateDetailsExtract
     *
     * @param templatedetailsId  模板id
     * @return 查询的templateDetailsExtract
     * @author 杨海云
     * @since 2.0.0 2018-11-27 19:40:28
     */
    List<QuestionMainModel> queryQueExtractByTemplateId(String templatedetailsId);
    /**
     * 根据模板id查询templateDetailsExtract
     *
     * @param templateDetsilsId  模板id
     * @return 查询的templateDetailsExtract
     * @author 杨海云
     * @since 2.0.0 2018-11-27 19:40:28
     */
    List<TemplateDetailsExtractEntity> queryDetilsExtractBytemplateDetailsId(String templateDetsilsId);

    /**
     * 如果修改的错题是模板必抽题,将新题更新到模板必抽题表
     *
     * @param wrongQuestionId 错题id
     * @return 查询的templateDetailsExtract
     * @author 任蒙蒙
     * @since 2.0.0 2018-12-28 21:02:28
     */
    Boolean updateQuestionId(String wrongQuestionId, String newQuestionId);

    /**
     * 插入模板明细表
     *
     * @param tempDEList 模板明细集合
     * @return true/false
     * @author 马莹
     * @since 2019年2月9日19:41:04
     */
    boolean installRandomQuestions(List<TemplateDetailsExtractEntity> tempDEList);

}
